Autogenerated HTML docs for v2.8.1-51-g6a269 
diff --git a/RelNotes/2.8.1.txt b/RelNotes/2.8.1.txt new file mode 100644 index 0000000..ef6d80b --- /dev/null +++ b/RelNotes/2.8.1.txt 
@@ -0,0 +1,9 @@ +Git v2.8.1 Release Notes +======================== + +Fixes since v2.8 +---------------- + + * "make rpmbuild" target was broken as its input, git.spec.in, was + not updated to match a file it describes that has been renamed + recently. This has been fixed. 
diff --git a/RelNotes/2.9.0.txt b/RelNotes/2.9.0.txt new file mode 100644 index 0000000..6facf57 --- /dev/null +++ b/RelNotes/2.9.0.txt 
@@ -0,0 +1,84 @@ +Git 2.9 Release Notes +===================== + +Backward compatibility note +--------------------------- + +The end-user facing Porcelain level commands in the "git diff" and +"git log" by default enables the rename detection; you can still use +"diff.renames" configuration variable to disable this. + + +Updates since v2.8 +------------------ + +UI, Workflows & Features + + * The end-user facing Porcelain level commands like "diff" and "log" + now enables the rename detection by default. + + * The credential.helper configuration variable is cumulative and + there is no good way to override it from the command line. As + a special case, giving an empty string as its value now serves + as the signal to clear the values specified in various files. + + * A new "interactive.diffFilter" configuration can be used to + customize the diff shown in "git add -i" session. + + +Performance, Internal Implementation, Development Support etc. + + * The embedded args argv-array in the child process is used to build + the command line to run pack-objects instead of using a separate + array of strings. + (merge 65a3629 mp/upload-pack-use-embedded-args later to maint). + + * A test for tags has been restructured so that more parts of it can + easily be run on a platform without a working GnuPG. + (merge 618310a es/test-gpg-tags later to maint). + + * The startup_info data, which records if we are working inside a + repository (among other things), are now uniformly available to Git + subcommand implementations, and Git avoids attempting to touch + references when we are not in a repository. + (merge 11e6b3f jk/startup-info later to maint). + + +Also contains various documentation updates and code clean-ups. + + +Fixes since v2.8 +---------------- + +Unless otherwise noted, all the fixes since v2.8 in the maintenance +track are contained in this release (see the maintenance releases' +notes for details). + + * "git config --get-urlmatch", unlike other variants of the "git + config --get" family, did not signal error with its exit status + when there was no matching configuration. + (merge 24990b2 jk/config-get-urlmatch later to maint). + + * The "--local-env-vars" and "--resolve-git-dir" options of "git + rev-parse" failed to work outside a repository when the command's + option parsing was rewritten in 1.8.5 era. + (merge fc7d47f jk/rev-parse-local-env-vars later to maint). + + * "git index-pack --keep[=<msg>] pack-$name.pack" simply did not work. + (merge 0e94242 jc/maint-index-pack-keep later to maint). + + * Fetching of history by naming a commit object name directly didn't + work across remote-curl transport. + (merge 754ecb1 gf/fetch-pack-direct-object-fetch later to maint). + + * A small memory leak in an error codepath has been plugged in xdiff + code. + (merge 87f1625 rj/xdiff-prepare-plug-leak-on-error-codepath later to maint). + + * strbuf_getwholeline() did not NUL-terminate the buffer on certain + corner cases in its error codepath. + (merge b709043 jk/getwholeline-getdelim-empty later to maint). + + * Other minor clean-ups and documentation updates + (merge aed7480 mm/lockfile-error-message later to maint). + (merge bfee614 jc/index-pack later to maint). 
diff --git a/config.txt b/config.txt index 2cd6bdd..aea6bd1 100644 --- a/config.txt +++ b/config.txt 
@@ -1113,8 +1113,9 @@  credential.helper:: 	Specify an external helper to be called when a username or 	password credential is needed; the helper may consult external -	storage to avoid prompting the user for the credentials. See -	linkgit:gitcredentials[7] for details. +	storage to avoid prompting the user for the credentials. Note +	that multiple helpers may be defined. See linkgit:gitcredentials[7] +	for details.    credential.useHttpPath:: 	When acquiring credentials, consider the "path" component of an http @@ -1886,6 +1887,14 @@ 	setting is silently ignored if portable keystroke input 	is not available; requires the Perl module Term::ReadKey.   +interactive.diffFilter:: +	When an interactive command (such as `git add --patch`) shows +	a colorized diff, git will pipe the diff through the shell +	command defined by this configuration variable. The command may +	mark up the diff further for human consumption, provided that it +	retains a one-to-one correspondence with the lines in the +	original diff. Defaults to disabled (no filtering). +  log.abbrevCommit:: 	If true, makes linkgit:git-log[1], linkgit:git-show[1], and 	linkgit:git-whatchanged[1] assume `--abbrev-commit`. You may 
diff --git a/diff-config.txt b/diff-config.txt index 6eaa452..edba565 100644 --- a/diff-config.txt +++ b/diff-config.txt 
@@ -108,9 +108,13 @@ 	detection; equivalent to the 'git diff' option '-l'.    diff.renames:: -	Tells Git to detect renames. If set to any boolean value, it -	will enable basic rename detection. If set to "copies" or -	"copy", it will detect copies, as well. +	Whether and how Git detects renames. If set to "false", +	rename detection is disabled. If set to "true", basic rename +	detection is enabled. If set to "copies" or "copy", Git will +	detect copies, as well. Defaults to true. Note that this +	affects only 'git diff' Porcelain like linkgit:git-diff[1] and +	linkgit:git-log[1], and not lower level commands such as +	linkgit:git-diff-files[1].    diff.suppressBlankEmpty:: 	A boolean to inhibit the standard behavior of printing a space 
diff --git a/git-config.html b/git-config.html index f6fdf88..c43aa49 100644 --- a/git-config.html +++ b/git-config.html 
@@ -795,7 +795,7 @@  that location (you can say <em>--local</em> but that is the default).</p></div>   <div class="paragraph"><p>This command will fail with non-zero status upon error. Some exit   codes are:</p></div>  -<div class="olist arabic"><ol class="arabic">  +<div class="ulist"><ul>   <li>   <p>   The config file is invalid (ret=3),  @@ -831,7 +831,7 @@  you try to use an invalid regexp (ret=6).   </p>   </li>  -</ol></div>  +</ul></div>   <div class="paragraph"><p>On success, the command returns the exit code 0.</p></div>   </div>   </div>  @@ -873,8 +873,7 @@  </dt>   <dd>   <p>  - Like get, but does not fail if the number of values for the key  - is not exactly one.  + Like get, but returns all values for a multi-valued key.   </p>   </dd>   <dt class="hdlist1">  @@ -899,7 +898,7 @@  given URL is returned (if no such key exists, the value for   section.key is used as a fallback). When given just the   section as name, do so for all the keys in the section and  - list them.  + list them. Returns error code 1 if no value is found.   </p>   </dd>   <dt class="hdlist1">  @@ -3095,8 +3094,9 @@  <p>   Specify an external helper to be called when a username or   password credential is needed; the helper may consult external  - storage to avoid prompting the user for the credentials. See  - <a href="gitcredentials.html">gitcredentials(7)</a> for details.  + storage to avoid prompting the user for the credentials. Note  + that multiple helpers may be defined. See <a href="gitcredentials.html">gitcredentials(7)</a>  + for details.   </p>   </dd>   <dt class="hdlist1">  @@ -3366,9 +3366,13 @@  </dt>   <dd>   <p>  - Tells Git to detect renames. If set to any boolean value, it  - will enable basic rename detection. If set to "copies" or  - "copy", it will detect copies, as well.  + Whether and how Git detects renames. If set to "false",  + rename detection is disabled. If set to "true", basic rename  + detection is enabled. If set to "copies" or "copy", Git will  + detect copies, as well. Defaults to true. Note that this  + affects only <em>git diff</em> Porcelain like <a href="git-diff.html">git-diff(1)</a> and  + <a href="git-log.html">git-log(1)</a>, and not lower level commands such as  + <a href="git-diff-files.html">git-diff-files(1)</a>.   </p>   </dd>   <dt class="hdlist1">  @@ -5033,6 +5037,19 @@  </p>   </dd>   <dt class="hdlist1">  +interactive.diffFilter  +</dt>  +<dd>  +<p>  + When an interactive command (such as <code>git add --patch</code>) shows  + a colorized diff, git will pipe the diff through the shell  + command defined by this configuration variable. The command may  + mark up the diff further for human consumption, provided that it  + retains a one-to-one correspondence with the lines in the  + original diff. Defaults to disabled (no filtering).  +</p>  +</dd>  +<dt class="hdlist1">   log.abbrevCommit   </dt>   <dd>  @@ -6998,7 +7015,7 @@  <div id="footnotes"><hr /></div>   <div id="footer">   <div id="footer-text">  -Last updated 2016-02-26 14:09:26 PST  +Last updated 2016-04-03 12:10:53 PDT   </div>   </div>   </body>  
diff --git a/git-config.txt b/git-config.txt index 153b2d8..6fc08e3 100644 --- a/git-config.txt +++ b/git-config.txt 
@@ -58,13 +58,13 @@  This command will fail with non-zero status upon error. Some exit  codes are:   -. The config file is invalid (ret=3), -. can not write to the config file (ret=4), -. no section or name was provided (ret=2), -. the section or key is invalid (ret=1), -. you try to unset an option which does not exist (ret=5), -. you try to unset/set an option for which multiple lines match (ret=5), or -. you try to use an invalid regexp (ret=6). +- The config file is invalid (ret=3), +- can not write to the config file (ret=4), +- no section or name was provided (ret=2), +- the section or key is invalid (ret=1), +- you try to unset an option which does not exist (ret=5), +- you try to unset/set an option for which multiple lines match (ret=5), or +- you try to use an invalid regexp (ret=6).    On success, the command returns the exit code 0.   @@ -86,8 +86,7 @@ 	found and the last value if multiple key values were found.    --get-all:: -	Like get, but does not fail if the number of values for the key -	is not exactly one. +	Like get, but returns all values for a multi-valued key.    --get-regexp:: 	Like --get-all, but interprets the name as a regular expression and @@ -102,7 +101,7 @@ 	given URL is returned (if no such key exists, the value for 	section.key is used as a fallback). When given just the 	section as name, do so for all the keys in the section and -	list them. +	list them. Returns error code 1 if no value is found.    --global:: 	For writing options: write to global `~/.gitconfig` file 
diff --git a/git-fetch-pack.html b/git-fetch-pack.html index 2f02616..ea10079 100644 --- a/git-fetch-pack.html +++ b/git-fetch-pack.html 
@@ -920,6 +920,9 @@  $GIT_DIR (e.g. "HEAD", "refs/heads/master"). When   unspecified, update from all heads the remote side has.   </p>  +<div class="paragraph"><p>If the remote has enabled the options <code>uploadpack.allowTipSHA1InWant</code> or  +<code>uploadpack.allowReachableSHA1InWant</code>, they may alternatively be 40-hex  +sha1s present on the remote.</p></div>   </dd>   </dl></div>   </div>  @@ -940,7 +943,7 @@  <div id="footnotes"><hr /></div>   <div id="footer">   <div id="footer-text">  -Last updated 2015-05-22 13:47:07 PDT  +Last updated 2016-04-03 12:10:53 PDT   </div>   </div>   </body>  
diff --git a/git-fetch-pack.txt b/git-fetch-pack.txt index 8680f45..239623c 100644 --- a/git-fetch-pack.txt +++ b/git-fetch-pack.txt 
@@ -104,6 +104,10 @@ 	The remote heads to update from. This is relative to 	$GIT_DIR (e.g. "HEAD", "refs/heads/master"). When 	unspecified, update from all heads the remote side has. ++ +If the remote has enabled the options `uploadpack.allowTipSHA1InWant` or +`uploadpack.allowReachableSHA1InWant`, they may alternatively be 40-hex +sha1s present on the remote.    SEE ALSO  -------- 
diff --git a/git.txt b/git.txt index adc940b..8afe349 100644 --- a/git.txt +++ b/git.txt 
@@ -43,9 +43,10 @@  branch of the `git.git` repository.  Documentation for older releases are available here:   -* link:v2.8.0/git.html[documentation for release 2.8] +* link:v2.8.1/git.html[documentation for release 2.8.1]    * release notes for + link:RelNotes/2.8.1.txt[2.8.1].  link:RelNotes/2.8.0.txt[2.8].    * link:v2.7.3/git.html[documentation for release 2.7.3] 
diff --git a/gitcredentials.html b/gitcredentials.html index 02b8f71..a89a967 100644 --- a/gitcredentials.html +++ b/gitcredentials.html 
@@ -887,6 +887,10 @@  variable, each helper will be tried in turn, and may provide a username,   password, or nothing. Once Git has acquired both a username and a   password, no more helpers will be tried.</p></div>  +<div class="paragraph"><p>If <code>credential.helper</code> is configured to the empty string, this resets  +the helper list to empty (so you may override a helper set by a  +lower-priority config file by configuring the empty-string helper,  +followed by whatever set of helpers you would like).</p></div>   </div>   </div>   <div class="sect1">  @@ -981,7 +985,7 @@  <div id="footnotes"><hr /></div>   <div id="footer">   <div id="footer-text">  -Last updated 2015-03-23 14:31:16 PDT  +Last updated 2016-04-03 12:10:53 PDT   </div>   </div>   </body>  
diff --git a/gitcredentials.txt b/gitcredentials.txt index 1c75be0..f3a75d1 100644 --- a/gitcredentials.txt +++ b/gitcredentials.txt 
@@ -106,6 +106,11 @@  password, or nothing. Once Git has acquired both a username and a  password, no more helpers will be tried.   +If `credential.helper` is configured to the empty string, this resets +the helper list to empty (so you may override a helper set by a +lower-priority config file by configuring the empty-string helper, +followed by whatever set of helpers you would like). +    CREDENTIAL CONTEXTS  -------------------